package com.video.video.service;

import com.video.video.domain.app.dto.AppOrderDto;
import com.video.video.domain.app.dto.DOrderRecordDto;
import com.video.video.domain.dto.HtDOrderRecordDto;
import com.video.video.domain.vo.DOrderQuery;
import java.util.List;
import com.video.video.domain.DOrderRecord;

/**
 * 订单下载记录Service接口
 *
 * @author ruoyi
 * @date 2022-09-27
 */
public interface IDOrderRecordService
{
    /**
     * 查询订单下载记录
     *
     * @param id 订单下载记录主键
     * @return 订单下载记录
     */
    public DOrderRecord selectDOrderRecordById(String id);

    /***
     * 后台查询订单列表
     * @param query
     * @return
     */
    List<HtDOrderRecordDto> selectHtDOrderRecordDtoList(DOrderQuery query);

    /**
     * 查询订单下载记录列表
     *
     * @param dOrderRecord 订单下载记录
     * @return 订单下载记录集合
     */
    public List<DOrderRecord> selectDOrderRecordList(DOrderRecord dOrderRecord);

    /**
     * app 查询订单
     * @param userId
     * @return
     */
    public List<DOrderRecordDto> selectDOrderRecordDtoList(String userId);

    /**
     * 新增订单下载记录
     * app
     * @param orderDto 订单下载记录
     * @return 结果
     */
    public int insertAppOrdery(AppOrderDto orderDto);

    /**
     * 新增订单下载记录
     *
     * @param dOrderRecord 订单下载记录
     * @return 结果
     */
    public int insertDOrderRecord(DOrderRecord dOrderRecord);

    /**
     * 修改订单下载记录
     *
     * @param dOrderRecord 订单下载记录
     * @return 结果
     */
    public int updateDOrderRecord(DOrderRecord dOrderRecord);

    /**
     * 批量删除订单下载记录
     *
     * @param ids 需要删除的订单下载记录主键集合
     * @return 结果
     */
    public int deleteDOrderRecordByIds(String[] ids);

    /**
     * 删除订单下载记录信息
     *
     * @param id 订单下载记录主键
     * @return 结果
     */
    public int deleteDOrderRecordById(String id);
}
